home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Small Eiffel 0.4.8 / man / compile_to_c.hlp < prev    next >
Text File  |  1997-04-13  |  5KB  |  101 lines

  1. compile_to_c [options] <Root-Class> [<Root-Procedure>] [*.c] [*.o] [-l*]
  2.  
  3. Command `compile_to_c' is the SmallEiffel ANSI C code generator.
  4. Usualy this command is automatically called by command `compile'
  5. but you can use it separately to produce C code.
  6.  
  7. Command `compile_to_c' must have at least one argument to indicate
  8. the starting execution point of the system.
  9. Thus, execution will start in <Root-Procedure> of <Root-Class>.
  10. The default <Root-Procedure> is `make'.
  11.  
  12. Command `compile_to_c' produce all needed C files and also produce
  13. one command script file. The name of this script file change with
  14. the operating system used (*.make on Unix or *.BAT on DOS for 
  15. example).
  16.  
  17. 1- Options to select Eiffel compilation mode -
  18. There are 8 modes of compilation given by the following
  19. options names: -debug_check -all_check -loop_check -invariant_check 
  20. -ensure_check -require_check -no_check and -boost option.
  21. Only one mode can be selected for the whole system to compile.
  22. Option -all_check is the default one.
  23.  
  24. -boost : Compilation mode which includes all optimization. There is
  25.    no target's existence test, no system-level validity checking.
  26.    Some routines are inlined. No code is generated to get an execution
  27.    trace in case of failure. There is no assertion check.
  28. -no_check : Compilation mode in which no Eiffel assertion is checked.
  29.    The target's existence test is performed. Some code is generated
  30.    for the system-level validity checking, and to produce an execution
  31.    trace (an execution stack is managed).
  32.    There is no inlining and no assertion check.
  33. -require_check : Compilation mode in which Eiffel preconditions
  34.    are checked. The generated code is similar to the previous one, 
  35.    but also includes code to test preconditions (require).
  36. -ensure_check : The generated code is similar to the previous one, 
  37.    but also includes code to test postconditions (ensure).
  38. -invariant_check : The generated code is similar to the previous one, 
  39.    but also includes code to test class invariant.
  40. -loop_check : The generated code is similar to the previous one, 
  41.    but also includes code to test loop variant and loop invariant.
  42. -all_check : The default mode. The generated code is similar to the
  43.    previous one, but also includes code for the check instruction.
  44. -debug_check : The generated code is similar to the previous one, 
  45.    but also includes code for the debug instruction. 
  46.    All debug are checked regardless of the string optional key.
  47.  
  48. 2- Others options -
  49.  
  50. -trace : This option may be useful to debug your program or to do 
  51.    some profiling. When selected, this option add some more C code to
  52.    produce at run time the file "trace.se" (file "trace.se" is not 
  53.    produced at compile time). When running a traced program, you get
  54.    a (usually huge) file "trace.se" in the launching directory. File 
  55.    "trace.se" tells you where your program is going : which line, 
  56.    which column in which Eiffel source file. Because all classes are
  57.    traced, file "trace.se" is a huge file even for a small program.
  58.    The feature `GENERAL.trace_switch' allow dynamic turning on/off 
  59.    of printed trace. At run time, when argument of `trace_switch' is
  60.    true, trace printing is switched on (conversely, false is to switch
  61.    off trace printing). When option -trace is not selected, calls to 
  62.    `trace_switch' are not taken in account by `compile_to_c' (no C code
  63.    is produced). The -trace mode is not available whith mode -boost.
  64.    Using at the same time -trace with -boost as the same effect as 
  65.    using -trace with -no_check. Also keep in mind that very simple 
  66.    instructions (as for example "i := i + 1;") may not be traced.
  67.  
  68. -cc <c_compiler> : Call <c_compiler> instead of the default C compiler.
  69.    See READ_ME of directory `sys' to set the default C compiler 
  70.    as well as the default linker.
  71.  
  72. -no_split : produce only one C file for the whole Eiffel system. 
  73.    Thus, the C compiler may inline more functions calls. This option
  74.    is usefull only to finalize an application (the incremental C 
  75.    compiling mode is switched off with -no_split).
  76.  
  77. -no_strip : Do not produce a strip in the command file.
  78.  
  79. -o <output_name> : Same meaning as -o option of the C compiler. The
  80.    <output_name> is the name of the produced executable file.
  81.  
  82. -cecil <cecil_file> : To allow some Eiffel features to be called
  83.    from C (see cecil.hlp for details). To call C functions/macros
  84.    from Eiffel see external.hlp file.
  85.  
  86. -verbose : to have information during the compilation (the full path of 
  87.    loaded files is printed, type inference score, removed files, etc).
  88.  
  89. 3- Options passed to the C compiler -
  90. Remaining options, *.c files, *.o files, library -l* are passed
  91. to the C compiler/linker.
  92.  
  93. 4- The environment variable `SmallEiffel' is used to indicate
  94. the place on the disk where the SmallEiffel directory is.
  95. This variable also indicates which system is used. When the `SmallEiffel' 
  96. value contains a slant character ('/'), the compiler assumes it is a 
  97. UNIX-like system.
  98.  
  99.  
  100.    
  101.